对docker 常用的一些命令做一个记录

镜像 image 相关

## 拉去一个镜像文件
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
docker pull ubuntu:18.04

## 查看镜像列表
docker image ls
docker image ls -q    -q是只列出id

## 镜像列表过滤
docker image ls -f dangling=true     ## 虚悬镜像
docker image ls -f since=mongo:3.2  ## 在指定的镜像之后创建的镜像
docker image ls -f before=mongo:3.2  ## 在指定的镜像之前创建的镜像

## 根据镜像名称和标签过滤
docker image ls ubuntu 
docker image ls ubuntu:18.04 

## 删除虚悬镜像
docker image prune 

## 删除镜像
docker image rm [选项] <镜像1> [<镜像2> ...]
docker image rm  d610e7d67ed0
## 命令组合删除所有的镜像
docker image rm $(docker image ls -q)

## 构建一个新的image
docker build [选项] <上下文路径/URL/->
docker build -t nginx:v3 . 构建image

容器 container 相关


## 运行镜像生成容器
docker run [选项] <镜像名称>
docker run --name webserver -d -p 4000:80 --mount source=my-vol,target=/app nginx
-d 是后端运行
-p 宿主端口:容器内端口   端口映射
--mount source=my-vol,target=/app,readonly 挂载一个数据卷到 容器的/app里 readonly标识只读
-v my-vol:/app:ro 挂载一个数据卷到 容器的/app里  ro表示只读

## 进入container bash
docker exec -it [container名称] bash
eg:docker exec -it webserver bash

## 提交容器
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
docker commit \
    --author "cfl <cfl@qq.com>" \
    --message "test" \
    webserver \
    nginx:v2

## 提交历史
docker history nginx:v2

## container内容修改记录
docker diff webserver

## 查看容器的日志
docker container logs [container ID or NAMES]

## 停止container
docker container stop   [container ID or NAMES]

## 启动container
docker container start   [container ID or NAMES]

## 导出 container
docker export [container ID] > 导出目录
docker export 41a43eaccd9d >  ./dockerImage/nginxv2.tar

## 删除 container
docker container rm [containerName]
docker container rm nginxv4

访问仓库

## 搜索镜像
docker search ubun

## 把镜像的名字改为自己的用户名的镜像
docker tag ubuntu:18.04 username/ubuntu:18.04

## 推送镜像到registry
docker push username/ubuntu:18.04

数据卷

## 创建数据卷
docker volume create my-vol
## 列出数据卷
docker volume ls
## 查看数据卷的信息
docker volume inspect my-vol
## 删除数据卷
docker volume rm my-vol
## 删除没有被挂载的的数据卷
docker volume prune
 

其他命令

## 查看镜像、容器、数据卷所占用的空间。
docker system df

未完待续


曹飞龙
167 声望8 粉丝

进取・坚韧・开放・影响